package com.ytjj.qmyx.mall.service;

import java.util.Map;

/**
 * 微信接口
 *
 *
 * @version 1.0
 *
 */
public interface WxService<Q> {

    /**
     * 统一下单接口
     *
     * @param q
     * @return
     * @throws Exception
     */
    Map<String,String> doUnifiedOrder(Q q) throws Exception;
    Map<String,String> doUnifiedRechargeOrder(Q q) throws Exception;

    /**
     * 微信订单查询
     *
     * @param resOrderNo
     * @return
     * @throws Exception
     */
    Map<String,String> wxOrderQuery(String resOrderNo) throws Exception;

    /**
     * 话费充值查询
     * @param resOrderNo
     * @return
     */
    Map<String, String> wxPhoneChargesQuery(String resOrderNo) throws Exception;

    /**
     * 微信退款
     *
     * @param outTradeNo
     * @param outRefundNo
     * @param totalFee
     * @param refundFee
     * @param refundDesc
     * @return
     * @throws Exception
     */
    Map refundOrders(String outTradeNo, String outRefundNo, Integer totalFee, Integer refundFee,
                     String refundDesc) throws Exception;

    Map refundRecharge(String outTradeNo, String outRefundNo, Integer totalFee, Integer refundFee,
                     String refundDesc) throws Exception;
}
